home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / Z-Misc Series / (k)ze.d64 / txt.no basic < prev    next >
Text File  |  2007-03-01  |  3KB  |  119 lines

  1. ┬┴╙╔├ IS NO LONGER A DIRECT COMMAND
  2. -----------------------------------
  3. BY ─ICK ╦LINGENS, ─UTCH ├╧═┴╠ ╒SERS
  4. ╟ROUP
  5.  
  6.  
  7. ┬Y USING THE CARTRIDGE IT IS POSSIBLE
  8. TO SWITCH TO A PROGRAMMING CODE
  9. CALLED ┬┴╙╔├ (┬LOODY ┴WFULL ╙TUDENTS
  10. ╔NTRODUCTION TO ├OMPUTING).
  11.  
  12. ╘YPE THE ├╧═┴╠ COMMAND
  13.  
  14.    BASIC
  15.  
  16. AND BRAIN DAMAGE IS NO LONGER
  17. EVITABLE. ┼SPECIALLY IN EDUCATIONAL
  18. ENVIRONMENT ONE MUST AVOID THIS.
  19.  
  20. ╫HEN ONE OF MY PUPILS WAS USING AN
  21. INTRODUCTORY PROGRAM IN WHICH HE HAD
  22. TO TYPE IN PROCEDURE NAMES AS
  23. COMMANDS, HE DISCOVERED THAT 'BASIC'
  24. WAS A COMMAND AFTER WHICH HE WAS ABLE
  25. TO WORK WITHOUT PROGRAM'S CONTROL AND
  26. IN THE SAME WAY AS HE DID AT HOME:
  27. NOT STRUCTURED, USING ╟╧╘╧'S, LEAVING
  28. OUT ╥┼╘╒╥╬ STATEMENTS IN SUBROUTINES,
  29. E.S.O.
  30.  
  31. ╔ DECIDED TO DEVELOP A PACKAGE AND
  32. LINK THAT TO MOST OF MY EDUCATIONAL
  33. PROGRAMS MAKING IT IMPOSSIBLE TO USE
  34. THE FOLLOWING COMMANDS:
  35.  
  36.    ┬┴╙╔├
  37.    ╬┼╫
  38.    ─╔╙├┴╥─
  39.  
  40. ╔F ONE OF THE COMMANDS IS GIVEN, A
  41. TEXT IS PROMPTED:
  42.  
  43.    TYPE CODE:
  44.  
  45. AND IF THE CODE DOES NOT MATCH
  46.  
  47.    ERROR IN CODE, RESET
  48.  
  49. ╘HE PACKAGE (MODULE) IS STORED IN THE
  50. FILE 'OBJ.NOTBASIC' AND LINKED TO THE
  51. PROGRAM 'EXAM.NOTBASIC'. ╘HE CODE
  52. USED IN THE PACKAGE IS
  53.  
  54.    CML80
  55.  
  56. IN LOWER CASE CHARACTERS.
  57.  
  58. ╙OME INFORMATION ON THE MODULE
  59. FOLLOWS NOW. ╘HE MODULE CONTAINS NO
  60. PACKAGES. ╚OWEVER, THERE IS A SIGNAL
  61. ROUTINE. ╘HIS ROUTINE DETECTS WHETHER
  62. ONE OF THE FORBIDDEN COMMANDS IS
  63. USED:
  64.  
  65. SIGNAL CPY #DSCRD ;IF DISCARD COMMAND
  66.        BNE INCODE ;  THEN GOTO INCODE
  67.        CPY #NEW   ;IF NEW COMMAND
  68.        BNE INCODE ;  THEN GOTO INCODE
  69.        CPY #BASIC ;IF BASIC COMMAND
  70.        BNE INCODE ;  THEN GOTO INCODE
  71.        RTS        ;RETURN TO COMAL
  72.  
  73. ╘HE ROUTINE ╔╬├╧─┼ STARTS WITH
  74. DISABLING <STOP>+<RESTORE>:
  75.  
  76. INCODE LDA #TRUE
  77.        STA NOREST
  78.  
  79. THEN THE PROMPT IS PRINTED
  80.  
  81.        LDA #<TEXT
  82.        LDX #>TEXT
  83.        JSR PRTEXT ;EXEC PRTEXT
  84.        JSR READ   ;EXEC READ
  85.  
  86. AND AFTER READING THE CORRECT CODE,
  87. <RESTORE> IS ENABLED:
  88.  
  89.        LDA #FALSE ;BACK TO COMAL
  90.        STA NOREST ; BECAUSE CODE
  91.        RTS        ; IS CORRECT
  92.  
  93. ╘HE ROUTINE ╥┼┴─ CHECKS WHETHER THE
  94. TYPED CODE MATCHES WITH THE CODE IN
  95. THE MODULE. ╔F NOT, THE MODULE FORCES
  96. A RESET BY:
  97.  
  98. LOOP   JMP LOOP
  99.  
  100. ┴SSEMBLING THE MODULE DOES NOT
  101. REQUIRE READING THE FILE ├64╙┘═┬
  102. BECAUSE ALL SYMBOLS USED ARE DEFINED
  103. AT THE BEGINNING OF THE MODULE:
  104.  
  105. FALSE  =0
  106. TRUE   =1
  107. DEFPAG =%01000110 ;MEMORY MAP
  108. DIS    =8         ;DISABLE SHIFT+├=
  109. CR     =13        ;CARRIAGE RETURN
  110. LOWER  =14        ;LOWER CASE CHARS
  111. TEMP   =$0055     ;TEMPORARY STORAGE
  112. INDEX  =$00FB     ;PRTEXT POINTER
  113. NOREST =$C841     ;NO RESTORE
  114. CWRT   =$CA06     ;CHARACTER WRITE
  115. SCAN   =$FFE4     ;KEYBOARD ROUTINE
  116. DSCRD  =3         ;SIGNAL FOR DISCARD
  117. NEW    =4         ;SIGNAL FOR NEW
  118. BASIC  =11        ;SIGNAL FOR BASIC
  119.